module.exports = function (grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON("../package.json"),
    concat: {
      options: {
        separator: ";",
      },
      dist: {
        src: ["./src/scripts/*.js"],
        dest: "../build/scripts/build.js",
      },
    },
    uglify: {
      options: {
        banner:
          "/*! <%= pkg.name %> - v<%= pkg.version %> - " +
          '<%= grunt.template.today("yyyy-mm-dd") %> */',
      },
      my_target: {
        files: {
          "../build/scripts/build.min.js": ["../build/scripts/build.js"],
        },
      },
    },
    cssmin: {
      options: {
        mergeIntoShorthands: false,
        roundingPrecision: -1,
      },
      target: {
        files: {
          "../build/styles/build.min.css": ["./src/styles/css/*.css"],
        },
      },
    },
    watch: {
      scripts: {
        files: ["./src/scripts/*.js", "./src/styles/css/*.css"],
        tasks: ["concat", "uglify", "cssmin"],
        options: {
          spawn: false,
        },
      },
    },
  });

  // 加载包含 "uglify" 任务的插件。
  grunt.loadNpmTasks("grunt-contrib-concat");
  grunt.loadNpmTasks("grunt-contrib-uglify");
  grunt.loadNpmTasks("grunt-contrib-cssmin");
  grunt.loadNpmTasks("grunt-contrib-watch");

  // 默认被执行的任务列表。
  // grunt.registerTask("default", ["uglify"]);
  grunt.registerTask("default", ["concat", "uglify", "cssmin"]);
  grunt.registerTask("listen", ["default", "watch"]);
};
